# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Shovel Knight Pocket Dungeon Template

game: Shovel Knight Pocket Dungeon
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    Shovel Knight Pocket Dungeon: 0.3.2 # Version of the world required for this yaml to work as expected.

Shovel Knight Pocket Dungeon:
  ################
  # Game Options #
  ################
  progression_balancing:
    # A system that can move progression earlier, to try and prevent the player from getting stuck and bored early.
    # 
    # A lower setting means more getting stuck. A higher setting means less getting stuck.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  #####################
  # Character Options #
  #####################
  starting_character:
    # Determines which character you start the game with.
    shovel_knight: 50
    black_knight: 0
    shield_knight: 0
    king_knight: 0
    specter_knight: 0
    plague_knight: 0
    mole_knight: 0
    treasure_knight: 0
    tinker_knight: 0
    polar_knight: 0
    propeller_knight: 0
    scrap_knight: 0
    prism_knight: 0
    puzzle_knight: 0
    mona: 0
    chester: 0
    enchantress: 0
    quandary_sage: 0
    spinwulf: 0
    schmutz: 0
    beefto: 0

  shuffle_refract_characters:
    # Shuffles the refract variants of all characters into the itempool.
    'false': 0
    'true': 50

  starting_character_is_refract:
    # Makes starting character use their refract variant.
    # Characters without a refract skill won't be affected.
    'false': 50
    'true': 0

  excluded_characters:
    # Prevent these characters and their related locations from being shuffled into the multiworld.
    ['Schmutz', 'Quandary Sage', 'Beefto', 'Spinwulf']

  total_characters:
    # Cut out a percentage of playable characters from the pool at random, useful for shorter Archipelago sessions.
    # 100 will include all characters, 0 will only add your starting character.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100

  #######################
  # Progression Options #
  #######################
  progression_type:
    # How to handle game progression.
    # Progressive Dungeons: adds a hard cap on how far the player can progress based on the amount of progressive dungeon items they posess.
    # None: Progression logic is only based on the amount of relics you've collected, there's no hard cap on how far you can get in a run.
    progressive_dungeons: 50
    none: 0

  hub_shop_restock_count:
    # The amount of restocks Chester's camp shop will contain.
    # Each restock adds 5 extra locations to your world.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 20
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-20: 0 # random value between 5 and 20

  shuffle_relics:
    # Shuffles all relics into the itempool.
    'false': 0
    'true': 50

  early_meal_ticket:
    # Places the meal ticket in an early sphere to prevent characters with low health from getting stuck.
    'false': 0
    'true': 50

  relic_leniency:
    # Multiplier that affects how strict relic logic will be.
    # If less than 10, more relics will be considered required to progress to the next dungeon.
    # The opposite holds true if set to more than 10.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 20
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-20: 0 # random value between 5 and 20

  camp_shop_starting_price:
    # How much the first stock of Chester's Camp Shop will cost.
    # Note: Shop item price is further adjusted based on the item classification.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20000
    10000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20000: 0 # random value between 0 and 20000

  camp_shop_price_modifier:
    # How much the price for items in Chester's Camp Shop increases with each new stock.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5000
    2000: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5000: 0 # random value between 0 and 5000

  ##################
  # Filler Options #
  ##################
  shuffle_hats:
    # Shuffles all hats into the itempool.
    'false': 50
    'true': 0

  filler_weights:
    # Determines how often each filler item appears in the itempool.
    # Items like hats can be added to this list if you want them to act like a standard filler item.
    1000 Gems: 45
    2500 Gems: 35
    5000 Gems: 20
    Garbage: 50

  hat_expiration_action:
    # When any recieved hat effects wear off.
    # New hat: Current hat gets removed when a new hat is sent
    # End run: Current hat gets removed when dying or beating the next adventure run.
    new_hat: 0
    end_run: 50

  hat_stack_amount:
    # The maximum amount of hats a player is able to have at a time.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-50: 0 # random value between 1 and 50

  excluded_hats:
    # Prevent these hats from being shuffled into the multiworld.
    ['Legendary Gold Helm', 'Shop Lock Shako', 'Protracted Beeto Beret']

  #########################
  # Miscellaneous Options #
  #########################
  randomize_level_order:
    # Shuffles around level themes, does not have an effect on logic.
    # Different from the "shuffle all" in-game option as the level shuffle will be unique to each Archipelago world.
    'false': 50
    'true': 0

  modded_levels:
    # Add level ids for any modded levels you may want to include in the level shuffle.
    # This doesn't need to be set if randomize level order is disabled.
    {}

  randomize_bosses:
    # Shuffles boss locations around on the adventure mode map.
    'false': 50
    'true': 0

  staring_relic_slot_amount:
    # How many "Starting Relic Slot" items get shuffled into the itempool.
    # Each slot adds a randomized relic at the start of an adventure run. Helps with speeding up the late game a bit.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    5: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10

  dungeon_shop_hints:
    # Toggles behavior of dungeon shops when selling archipelago items.
    # On: Dungeon shops will show which item they're selling before purchase but will cost a variable amount of gems.
    # Off: Dungeon shops won't show which item they're selling but the item can be picked up for free.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
